var user=getUserEntityFromCache();
var rid = '';
var pay_goods_info="";//商品的支付信息
var redstate = 0;
getSign();

$(function () {
    addEvent();
    if (!user.isLogin()) {//没登录
        //微信授权回调回来
        if(code!=undefined&&code!=null&&code.length>0&&state=="pocket"){
            getWxUserInfo();
        }
        else {
            user.clearUserInfoCache();
            getUserAuthorize();
        }
    }
});

function addEvent(){
	$("#sendbtn").click(function () {

		var p_money = $("#txt_money").val();
		var p_nums = $("#txt_nums").val();
		var p_msg = $("#txt_msg").val();
		
		sendServer(p_money,p_nums,p_msg);
   });
	
	$("#txt_money").on('input',function(e){
		$cmoney = $("#txt_money").val();
		if($cmoney>9999){
			$cmoney = 9999;
			$("#txt_money").val(9999);
		}
		
       $("#txt_show_money").html('¥ '+$cmoney);
    });
    
    $("#txt_nums").on('input',function(e){
		$cnums = $("#txt_nums").val();
		if($cnums>100){
			$cnums = 100;
			$("#txt_nums").val(100);
		}
		
    });
    
    
    function sendServer(t_money,t_num,t_msg){
    	
    	if(redstate == 1){
    		showAlert("快分享到朋友圈让你的朋友们来领红包吧!");
    		return;
    	}
        
//  	console.log('p_money='+t_money+'p_nums='+t_num);
    	if(t_money==undefined || t_money=='' || t_money==null||t_money.length<0){
    		showAlert("请填写红包金额");
    		return;
    	}
    	
    	if(t_num==undefined || t_num=='' || t_num==null||t_num.length<0){
    		showAlert("请填写红包数量");
    		return;
    	}
    	
    	if(t_msg.length>60){
			showAlert("红包描述过长!");
			return;
		}
    	
    	if(!user || !user.uid){
    		showAlert("未登陆");
    		return;
    	}
    	
//  	$uid = \Yii::$app->request->post('uid', 0);
//  	$total = \Yii::$app->request->post('total', 0);
//  	$nums = \Yii::$app->request->post('nums', 0);
    	
    	$.ajax({
            type: "post",
            async: true,
            url: "/v1/redpacket/add-redpacket",
            data: {total:t_money,uid:user.uid,nums:t_num,msgs:t_msg},
            dataType: "json",
            success: function(data){
                isRequest=0;
                if(data&&data.code&&data.code=="success"){
                    //直接打开分享页面
                    rid = data.data.order.rid;
//                  window.location.href="/redpacket/sharepage?rid="+rid;
                    
					getSign();
					
                    if(data.data.jsApiParameters!=null&&data.data.jsApiParameters!=undefined){
	                    pay_goods_info=data.data.jsApiParameters;
	                    callpay();
	                }
                }
                else {
                    showAlert(data.message);
                }
            },
            error: function(){
                isRequest=0;
                showAlert("请求失败");
            }
        });
};
}

function getWxUserInfo() {
    getUserInfo(function (data) {
        if(data&&data.openid){
            user=new User(data.openid,data.mobile,data.nickname,data.headimgurl,data.uid,data.role,data.referee,data.parent_code,data.redpacket_money,data.redpacket_num,data.isgetredpacket);
            user.cacheUserInfo(user.openid,user.nickname,user.mobile,user.avatar,user.uid,data.role,data.referee,data.parent_code,data.redpacket_money,data.redpacket_num,data.isgetredpacket);
            if(user.mobile==null||user.mobile==undefined||user.mobile==""){
                window.location.href="/user/mobilebind";
            }
        }
        else {
            showAlert(data);
        }
    });
}



//调用微信JS api 支付
function jsApiCall()
{
    WeixinJSBridge.invoke(
        'getBrandWCPayRequest',
        JSON.parse(pay_goods_info),
    function(res){
        // WeixinJSBridge.log(res.err_msg);
        // alert(res.err_code+"|"+res.err_desc+"|"+res.err_msg);
        if(res.err_msg == "get_brand_wcpay_request:ok" ) {
        	
        	PayOkBack();       	
//          window.location.replace(domain+"/user/coupon");
			//window.location.href="/redpacket/sharepage?rid="+rid;
        }
        else if(res.err_msg == "get_brand_wcpay_request:cancel" ) {
            showAlert("您取消了支付");
        }
        else {
            showAlert("支付失败："+res.err_msg);
        }
    }
);
}

function callpay()
{
    if (typeof WeixinJSBridge == "undefined"){
        if( document.addEventListener ){
            document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
        }else if (document.attachEvent){
            document.attachEvent('WeixinJSBridgeReady', jsApiCall);
            document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
        }
    }else{
        jsApiCall();
    }
}


//调用微信支付
function onBridgeReady(payObj){
    WeixinJSBridge.invoke(
        'getBrandWCPayRequest', {
            "appId":appId,     //公众号名称，由商户传入
            "timeStamp":payObj.timeStamp,         //时间戳，自1970年以来的秒数
            nonceStr: payObj.nonceStr, // 支付签名随机串，不长于 32 位
            package: payObj.package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=***）
            signType: payObj.signType, // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
            paySign: payObj.paySign, // 支付签名
        },
        function(res){
            if(res.err_msg == "get_brand_wcpay_request:ok" ) {
            	PayOkBack();
                //window.location.href="/redpacket/sharepage?rid="+rid;
            }
            if(res.err_msg == "get_brand_wcpay_request:cancel" ) {
                showAlert("您取消了支付");
            }
            else {
                showAlert("支付失败："+reserr_msg);
            }
        }
    );
}

function PayOkBack(){
	redstate = 1;
    $("#sendbtn").attr("src","../images/redpacket/tosharebtn.png")
    showAlert("支付成功,快分享到朋友圈让你的朋友们来领红包吧!");
}

function initWXConfig(signature){
    wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: appId, // 必填，公众号的唯一标识，aa3ecfe3da55ba39e817d6f19f70725d
        timestamp: timeStamp, // 必填，生成签名的时间戳
        nonceStr: noncestr, // 必填，生成签名的随机串
        signature: signature,// 必填，签名，见附录1
        jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
    });

    wx.ready(function(){
        initWXShare();
        // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
    });

    wx.error(function(res){
        // config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
    });

    wx.checkJsApi({
        jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'], // 需要检测的JS接口列表，所有JS接口列表见附录2,
        success: function(res) {
            // 以键值对的形式返回，可用的api值true，不可用为false
            // 如：{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
            
            if (res.checkResult.getLocation == false) {
				alert('你的微信版本太低，不支持微信JS接口');
				
			}
        }
    });

}



function getSign(){
    $.ajax({
        type: "get",
        url: "/v1/wx-user/get-sign",
        data: {noncestr:noncestr, timestamp:timeStamp,url:window.location.href},
        dataType: "json",
        beforeSend:function(){

        },
        success: function(data){
            if(data.code=="success") {
                if (data.data != null && data.data.sign != null && data.data.sign != undefined) {
                    initWXConfig(data.data.sign);
                }
            }
            else {
                alert(data.err_msg);
            }
        },
        error: function(){
        }
    });
}



function initWXShare() {
    var share_title="口袋买房——找房约看·买房返现!";
    var share_des=house_share_desc;
    var share_link="";
    var share_icon="";

    //share_title=house_share_text;
    //share_des="";
	if(rid.length>5){
		share_link= 'http://pocket.all-star.top/redpacket/sharepage?rid='+rid;
	}
	else{
		share_link = window.location.href;
	}
    //share_link= 'http://pocket.all-star.top/redpacket/sharepage?rid='+rid;
    share_icon="http://pocket.all-star.top/images/logo_small.jpg";

    wx.onMenuShareAppMessage({
        title: share_title, // 分享标题
        desc: share_des, // 分享描述
        link: share_link,
        imgUrl: share_icon,
        type: '', // 分享类型,music、video或link，不填默认为link
        dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
        success: function () {
            // 用户确认分享后执行的回调函数          
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    });

    wx.onMenuShareTimeline({
        title: share_title, // 分享标题
        link:share_link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        imgUrl: share_icon, // 分享图标
        success: function () {
            // 用户确认分享后执行的回调函数
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    });
}